/**
 * @file college.js
 * @description 学院和班级相关的API接口
 * @created 2024-06-01
 */

import request from '@/utils/request'

/**
 * 获取学院列表
 * @returns {Promise} 学院列表数据
 */
export function getCollegeList() {
  return request({
    url: '/admin/colleges/list',
    method: 'get'
  })
}

/**
 * 根据学院ID获取班级列表
 * @param {number|string} collegeId - 学院ID
 * @returns {Promise} 班级列表数据
 */
export function getClassesByCollege(collegeId) {
  return request({
    url: `/admin/colleges/${collegeId}/classes`,
    method: 'get'
  })
}

/**
 * 获取学院详情
 * @param {number|string} id - 学院ID
 * @returns {Promise} 学院详情
 */
export function getCollegeDetail(id) {
  return request({
    url: `/admin/college/detail/${id}`,
    method: 'get'
  })
}

/**
 * 添加学院
 * @param {Object} data - 学院数据
 * @returns {Promise} 添加结果
 */
export function addCollege(data) {
  return request({
    url: '/admin/college/add',
    method: 'post',
    data
  })
}

/**
 * 更新学院
 * @param {Object} data - 学院数据
 * @returns {Promise} 更新结果
 */
export function updateCollege(data) {
  return request({
    url: `/admin/college/update/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 删除学院
 * @param {number|string} id - 学院ID
 * @returns {Promise} 删除结果
 */
export function deleteCollege(id) {
  return request({
    url: `/admin/college/delete/${id}`,
    method: 'delete'
  })
}

/**
 * 获取班级详情
 * @param {number|string} id - 班级ID
 * @returns {Promise} 班级详情
 */
export function getClassDetail(id) {
  return request({
    url: `/admin/class/detail/${id}`,
    method: 'get'
  })
}

/**
 * 添加班级
 * @param {Object} data - 班级数据
 * @returns {Promise} 添加结果
 */
export function addClass(data) {
  return request({
    url: '/admin/class/add',
    method: 'post',
    data
  })
}

/**
 * 更新班级
 * @param {Object} data - 班级数据
 * @returns {Promise} 更新结果
 */
export function updateClass(data) {
  return request({
    url: `/admin/class/update/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 删除班级
 * @param {number|string} id - 班级ID
 * @returns {Promise} 删除结果
 */
export function deleteClass(id) {
  return request({
    url: `/admin/class/delete/${id}`,
    method: 'delete'
  })
} 